Skip to content

Conversation

workingjubilee
Copy link
Member

Successful merges:

r? @ghost
@rustbot modify labels: rollup

Create a similar rollup

RalfJung and others added 13 commits January 3, 2025 12:01
In llvm/llvm-project@7b23f41 , `.text`
started being suppressed from LLVM assembly in cases where it wasn't
strictly necessary. Currently, the sample functions in these two tests
are frequently decided to be IR-only functions, resulting in no code
generation, so LLVM drops the `.text` directive.

Adding `#[no_mangle]` forces these tests back to their original intent -
assembly code is generated, and so a `.text` directive is generated as
well.
I prefer when we can ship the same version of backtrace on crates.io,
and this will be the next published version.

Compare: rust-lang/backtrace-rs@4d7906b...0.3.75

Mostly internal-to-backtrace changes, plus a tiny code size win.
This should help when trying to debug issues.
…mpiler-errors

turn rustc_box into an intrinsic

I am not entirely sure why this was made a special magic attribute, but an intrinsic seems like a more natural way to add magic expressions to the language.
crashes: add latest batch of tests

try-job: aarch64-apple
try-job: x86_64-msvc
try-job: x86_64-gnu
try-job: dist-i586-gnu-i586-i686-musl
…bilee

std: sync to dep versions of backtrace

Minor versions from backtrace desynced with std (they still differs in patch numbers, but still better):
https://github.com/rust-lang/backtrace-rs/blob/4d7906bb24ae91ee6587127020d360f5298f9e7e/Cargo.toml#L44-L48

There is hidden bug here, let's see if CI can find it.

cc `@workingjubilee`
Force code generation in assembly generation smoke-tests

In llvm/llvm-project@7b23f41 , `.text` started being suppressed from LLVM assembly in cases where it wasn't strictly necessary. Currently, the sample functions in these two tests are frequently decided to be IR-only functions, resulting in no code generation, so LLVM drops the `.text` directive.

Adding `#[no_mangle]` forces these tests back to their original intent - assembly code is generated, and so a `.text` directive is generated as well.

`@rustbot` label: +llvm-main
r? `@workingjubilee`

I'll attach a buildbot link once it finishes consuming this PR
…=workingjubilee

Bump backtrace to 0.3.75

I prefer when we can ship the same version of backtrace on crates.io, and this will be the next published version.

Compare: rust-lang/backtrace-rs@4d7906b...0.3.75

Mostly internal-to-backtrace changes, plus a tiny code size win.

r? `@ghost`
…stent-dir, r=jieyouxu

bootstrap: If dir_is_empty fails, show the non-existent directory path

This should help when trying to debug issues.
@rustbot rustbot added A-testsuite Area: The testsuite used to check the correctness of rustc S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap) T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-libs Relevant to the library team, which will review and decide on the PR/issue. rollup A PR which is a rollup labels Jan 4, 2025
@workingjubilee
Copy link
Member Author

@bors r+ rollup=never p=5

@bors
Copy link
Collaborator

bors commented Jan 4, 2025

📌 Commit e2983d8 has been approved by workingjubilee

It is now in the queue for this repository.

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Jan 4, 2025
@bors
Copy link
Collaborator

bors commented Jan 4, 2025

⌛ Testing commit e2983d8 with merge 1891c28...

@bors
Copy link
Collaborator

bors commented Jan 4, 2025

☀️ Test successful - checks-actions
Approved by: workingjubilee
Pushing 1891c28 to master...

@bors bors added the merged-by-bors This PR was explicitly merged by bors. label Jan 4, 2025
@bors bors merged commit 1891c28 into rust-lang:master Jan 4, 2025
7 checks passed
@rustbot rustbot added this to the 1.86.0 milestone Jan 4, 2025
@rust-timer
Copy link
Collaborator

📌 Perf builds for each rolled up PR:

PR# Message Perf Build Sha
#135046 turn rustc_box into an intrinsic 90b61b5dad710fc715ed8019b46aeb061f394c20 (link)
#135061 crashes: add latest batch of tests 15cea17f2da74c89ea269c46cea64f8fa94fab9b (link)
#135070 std: sync to dep versions of backtrace 42abf531cba01861def318210dc6e38ca79493ae (link)
#135088 Force code generation in assembly generation smoke-tests fc5100a0a025d25d9dd643de834a334df09a843a (link)
#135091 Bump backtrace to 0.3.75 1362fca927abcdce6ea060494d9c9faa664e319f (link)
#135094 bootstrap: If dir_is_empty fails, show the non-existent dir… 0fe74c827c2a7b70160030700817fe6204cd8886 (link)

previous master: ead4a8f536

In the case of a perf regression, run the following command for each PR you suspect might be the cause: @rust-timer build $SHA

@rust-timer
Copy link
Collaborator

Finished benchmarking commit (1891c28): comparison URL.

Overall result: ❌✅ regressions and improvements - please read the text below

Our benchmarks found a performance regression caused by this PR.
This might be an actual regression, but it can also be just noise.

Next Steps:

  • If the regression was expected or you think it can be justified,
    please write a comment with sufficient written justification, and add
    @rustbot label: +perf-regression-triaged to it, to mark the regression as triaged.
  • If you think that you know of a way to resolve the regression, try to create
    a new PR with a fix for the regression.
  • If you do not understand the regression or you think that it is just noise,
    you can ask the @rust-lang/wg-compiler-performance working group for help (members of this group
    were already notified of this PR).

@rustbot label: +perf-regression
cc @rust-lang/wg-compiler-performance

Instruction count

This is the most reliable metric that we have; it was used to determine the overall result at the top of this comment. However, even this metric can sometimes exhibit noise.

mean range count
Regressions ❌
(primary)
0.7% [0.7%, 0.8%] 4
Regressions ❌
(secondary)
0.7% [0.3%, 2.2%] 4
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
-1.3% [-1.8%, -0.2%] 13
All ❌✅ (primary) 0.7% [0.7%, 0.8%] 4

Max RSS (memory usage)

Results (primary 2.3%, secondary 4.8%)

This is a less reliable metric that may be of interest but was not used to determine the overall result at the top of this comment.

mean range count
Regressions ❌
(primary)
2.3% [1.9%, 2.8%] 2
Regressions ❌
(secondary)
6.4% [1.3%, 15.0%] 14
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
-2.8% [-5.9%, -0.8%] 3
All ❌✅ (primary) 2.3% [1.9%, 2.8%] 2

Cycles

Results (secondary -0.8%)

This is a less reliable metric that may be of interest but was not used to determine the overall result at the top of this comment.

mean range count
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
1.4% [1.4%, 1.4%] 1
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
-3.1% [-3.1%, -3.1%] 1
All ❌✅ (primary) - - 0

Binary size

Results (primary 0.3%, secondary 0.8%)

This is a less reliable metric that may be of interest but was not used to determine the overall result at the top of this comment.

mean range count
Regressions ❌
(primary)
0.3% [0.1%, 0.8%] 15
Regressions ❌
(secondary)
0.8% [0.5%, 1.4%] 38
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) 0.3% [0.1%, 0.8%] 15

Bootstrap: 762.69s -> 763.656s (0.13%)
Artifact size: 325.64 MiB -> 325.61 MiB (-0.01%)

@rustbot rustbot added the perf-regression Performance regression. label Jan 5, 2025
@klensy
Copy link
Contributor

klensy commented Jan 5, 2025

Small binary size regression should be hopefully fixed by #135110?

@Kobzol
Copy link
Member

Kobzol commented Jan 5, 2025

That was not it (#135113 (comment)), probably it was just the backtrace bump.

@workingjubilee workingjubilee deleted the rollup-owp3czl branch January 6, 2025 00:14
@workingjubilee
Copy link
Member Author

hm, might need to adjust how we're measuring sizes for backtrace...

@Kobzol
Copy link
Member

Kobzol commented Jan 6, 2025

It might have been also caused by #135070.

@Kobzol
Copy link
Member

Kobzol commented Jan 6, 2025

@rust-timer build 1362fca

@rust-timer

This comment has been minimized.

@rust-timer
Copy link
Collaborator

Finished benchmarking commit (1362fca): comparison URL.

Overall result: no relevant changes - no action needed

Instruction count

This benchmark run did not return any relevant results for this metric.

Max RSS (memory usage)

Results (secondary -1.9%)

This is a less reliable metric that may be of interest but was not used to determine the overall result at the top of this comment.

mean range count
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
-1.9% [-1.9%, -1.9%] 1
All ❌✅ (primary) - - 0

Cycles

Results (secondary -0.7%)

This is a less reliable metric that may be of interest but was not used to determine the overall result at the top of this comment.

mean range count
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
2.8% [2.8%, 2.8%] 1
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
-2.5% [-2.6%, -2.4%] 2
All ❌✅ (primary) - - 0

Binary size

Results (primary 0.2%, secondary 0.3%)

This is a less reliable metric that may be of interest but was not used to determine the overall result at the top of this comment.

mean range count
Regressions ❌
(primary)
0.2% [0.0%, 0.3%] 12
Regressions ❌
(secondary)
0.3% [0.2%, 0.6%] 38
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) 0.2% [0.0%, 0.3%] 12

Bootstrap: 762.69s -> 761.839s (-0.11%)
Artifact size: 325.64 MiB -> 325.62 MiB (-0.01%)

@Kobzol
Copy link
Member

Kobzol commented Jan 6, 2025

Seems like it was indeed #135091.

@Kobzol
Copy link
Member

Kobzol commented Jan 7, 2025

The perf. effects on the deep-vector benchmark were most likely caused by #135046, and it seemed to have been expected.

@rustbot label: +perf-regression-triaged

@rustbot rustbot added the perf-regression-triaged The performance regression has been triaged. label Jan 7, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-testsuite Area: The testsuite used to check the correctness of rustc merged-by-bors This PR was explicitly merged by bors. perf-regression Performance regression. perf-regression-triaged The performance regression has been triaged. rollup A PR which is a rollup S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. T-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap) T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-libs Relevant to the library team, which will review and decide on the PR/issue.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

10 participants